# -*- coding: utf-8 -*-
# coding=utf-8
from flaskController.Main import app
from psutil import net_if_addrs
from sysConfig.macConfig import MAC_ID_LIST
from sysConfig.config import systemConfig
import os


# flask主程序



import logging
from logging.handlers import RotatingFileHandler
if not os.path.exists(systemConfig['res_path_conf']):
    os.makedirs(systemConfig['res_path_conf'])
    print("创建输出文件夹："+systemConfig['res_path_conf'])
if not os.path.exists(systemConfig['res_path_conf']+"/logs"):
    os.makedirs(systemConfig['res_path_conf']+"/logs")
    print("创建log日志输出文件夹："+systemConfig['res_path_conf']+"/logs")
# 设置日志的记录等级
logging.basicConfig(level=logging.WARNING) # 调试debug级
# 创建日志记录器，指明日志保存的路径（前面的logs为文件的名字，需要我们手动创建，后面则会自动创建）、每个日志文件的最大大小、保存的日志文件个数上限。
# file_log_handler = RotatingFileHandler("../logs/log", maxBytes=1024*1024*100, backupCount=10)
file_log_handler = RotatingFileHandler(systemConfig['res_path_conf']+"/logs/log.txt", maxBytes=1024*1024*2, backupCount=10)
# 创建日志记录的格式               日志等级    输入日志信息的文件名   行数       日志信息
formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
# 为刚创建的日志记录器设置日志记录格式
file_log_handler.setFormatter(formatter)
# 为全局的日志工具对象（flask app使用的）添加日志记录器
logging.getLogger().addHandler(file_log_handler)




os.environ["CUDA_VISIBLE_DEVICES"] = "0"
MacCheck = 0
for k, v in net_if_addrs().items():
    for item in v:
        print(item)
        MacId = item[1]
        if '-' in MacId and len(MacId) == 17:
            for i in MAC_ID_LIST:
                if MacId == i:
                    MacCheck = 1
                    print("———————— 已校验MAC地址 ————————")
                    break

if MacCheck == 1:
    print('此电脑没有运行本程序权限')
else:
    @app.route('/')
    def hello_world():
        return 'hello world'

    if __name__ == '__main__':
        # app.run(debug=False, host='0.0.0.0', port=8088, processes=4)
        app.run(debug=False, host='0.0.0.0', port=systemConfig['exePort'], threaded=True)
        # # pywsgi
        # server = pywsgi.WSGIServer(('0.0.0.0', 8088), app)
        # server.multithread=True
        # server.multiprocess=True
        # server.serve_forever()
    elif __name__ == 'main':
        app.run(debug=False, host='0.0.0.0', port=systemConfig['exePort'], threaded=True)
    else:
        print('__name__:'+__name__)

